package com.megaspacevr.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * <p>
 * 时间段表-30分钟小场次
 * </p>
 *
 * @author yezi
 * @since 2025-06-17
 */
@Getter
@Setter
@ToString
@EqualsAndHashCode
@TableName("time_slots")
@Schema(name = "TimeSlots", description = "时间段表-30分钟小场次")
public class TimeSlots implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @Schema(description = "日期")
    private LocalDate slotDate;

    @Schema(description = "大场次名称")
    private String periodName;

    @Schema(description = "开始时间")
    private LocalTime startTime;

    @Schema(description = "结束时间")
    private LocalTime endTime;

    @Schema(description = "最大容量（固定6人）")
    private Integer maxCapacity;

    @Schema(description = "已预约人数")
    private Integer bookedCount;

    @Schema(description = "是否可预约")
    private Boolean isAvailable;

    @Schema(description = "是否已锁定（人满）")
    private Boolean isLocked;

    private LocalDateTime createdAt;

    private LocalDateTime updatedAt;

}
